package com.proyecto.core.Utilidades;

public class UtilString { 
	public static String completar(String tira, int longitud) {
		if (tira == null){
			tira = "";
		}
		String tiranueva = new String(tira);
		if (tira.length() < longitud) {
			for (int i = 1; i <= longitud - tira.length(); i++) {
				tiranueva = tiranueva + " ";
			}
		} else {
			tiranueva = tira.substring(0, longitud);
		}
		return tiranueva;
	}
	
	public static String completar(String pTexto, String pCaracter, int pLongitud, boolean pInsertarAntes) {
		String nuevoTexto = "";
		String relleno    = "";
		
		if (null == pTexto){
			pTexto = "";
		}
		nuevoTexto = pTexto.toString();
		
		if (pTexto.length() < pLongitud) {
			for (int i = 1; i <= pLongitud - pTexto.length(); i++) {
				relleno = relleno + pCaracter;
			}
		} else {
			nuevoTexto = pTexto.substring(0, pLongitud);
		}
		
		if (pInsertarAntes){
			nuevoTexto = relleno + nuevoTexto;
		} else {
			nuevoTexto = nuevoTexto + relleno;
		}
		return nuevoTexto; 
	}
	
	public static boolean esVacio(Object pObjeto){
		if (pObjeto instanceof String){
			return (pObjeto == null || "".equals(((String)pObjeto).trim()));
		} else if (pObjeto instanceof Double){
			return (pObjeto == null || ((Double)pObjeto).doubleValue() == 0.0);
		} else if (pObjeto instanceof Integer){
			return (pObjeto == null || ((Integer)pObjeto).intValue() == 0);
		} else  return (pObjeto == null);
	}
	
	/**
	 * A una lista de datos le adiciona comillas simples. Se recomienda el uso en HQL y SQL.
	 * Ejemplo: texto     = "valor1,valor2,valor3"
	 * 			resultado = "'valor1','valor2','valor3'"
	 * @param texto
	 * @return
	 */
	public static String adicionarComillasSimples(String texto) {
		String resultado = "'" + texto.replace(",", "','") + "'";
		return resultado;
	}

	// METODO QUE DEVUELVE UN STRING, QUITANDO TODOS LOS CARACTERES QUE NO SE ENCUENTREN EN LA CADENA QUE ESTA INICIALIZADA EN UN ARCHIVO .PROPERTIES
	//REEMPLAZANDOLO POR UN STRING DESEADO
	public static String validarCaracteresPermitidos(String cadenaProperties, String cadenaProcesar, String cadenaReemplazo){
		String salida="";
		int j=0;
		String cadenaAux="";
		if((null!= cadenaProperties) && (null!= cadenaProcesar) && (null!= cadenaReemplazo)){
		    while(j<cadenaProcesar.length()){
		    	cadenaAux = String.valueOf(cadenaProcesar.charAt(j));   		
		    	if(cadenaProperties.indexOf(cadenaAux)==-1){ 
					cadenaAux = cadenaAux.replace(cadenaAux, cadenaReemplazo);
				}
				else{
				}
		    	salida = salida + cadenaAux;
		    	j++;
		    }
		}
		return salida;
	}
}
